package com.kexio.enterprise.observability.health.domain;

import com.kexio.enterprise.observability.health.enums.HealthStatus;
import com.kexio.enterprise.observability.health.result.HealthCheckResult;
import com.kexio.enterprise.observability.health.summary.HealthSummary;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * 健康信息
 * 
 * @author Kexio
 * @since 1.0.0
 */
public class HealthInfo {
    private HealthStatus overallStatus;
    private Map<String, HealthCheckResult> components;
    private LocalDateTime checkTime;
    private long totalResponseTime;
    private HealthSummary summary;

    // Getters and Setters
    public HealthStatus getOverallStatus() { return overallStatus; }
    public void setOverallStatus(HealthStatus overallStatus) { this.overallStatus = overallStatus; }
    
    public Map<String, HealthCheckResult> getComponents() { return components; }
    public void setComponents(Map<String, HealthCheckResult> components) { this.components = components; }
    
    public LocalDateTime getCheckTime() { return checkTime; }
    public void setCheckTime(LocalDateTime checkTime) { this.checkTime = checkTime; }
    
    public long getTotalResponseTime() { return totalResponseTime; }
    public void setTotalResponseTime(long totalResponseTime) { this.totalResponseTime = totalResponseTime; }
    
    public HealthSummary getSummary() { return summary; }
    public void setSummary(HealthSummary summary) { this.summary = summary; }
}
